docs(npm-exemptions): mirror hypatia#405 vscode-* + tree-sitter-* carve-outs (standards#253)#320
Merged
Conversation
…ve-outs (standards#253) Mirrors hypatia#405 (`:nodejs_detected` carve-out extension) into the two policy surfaces under standards: - `.claude/CLAUDE.md §npm Exemptions (Approved)` — adds 6 new exemption rows (vscode- substring, tree-sitter- substring, /.lake/, /office-addin/, /bindings/javascript/, /bindings/typescript/). - `rhodium-standard-repositories/.github/workflows/language-policy.yml` — adds parallel `grep -vE` filters to the NEW_NPM_LOCK block, updates carve-out comment from "6 classes" to "8 classes". Refs: hypatia#405. Closes the rule/policy gap surfaced during the standards#253 STEP 3 batch (root-level vscode-* and tree-sitter-* repos were flagged by the previous narrower `/vscode/` segment match). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
b7e2336 to
25f9e10
Compare
3 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 31, 2026
…t (post #275 closeout cleanup) (#328) ## Summary Surfaced during the standards#275 STEP 7 closeout **estate-wide hypatia scan**: `proven-servers/bindings/rescript/package-lock.json` was the single uncarved hit across 20 estate-wide `package-lock.json` files. [hypatia#412](hyperpolymath/hypatia#412) extends the `:nodejs_detected` rule's class 5c (`/bindings/{javascript,typescript}/`) to also cover `/bindings/rescript/`. This PR **mirrors that to the LANGUAGE-POLICY.adoc Node.js narrative row**, matching the docs-vs-rule parity pattern from hypatia#405 + standards#320. ## Change `rhodium-standard-repositories/spec/LANGUAGE-POLICY.adoc` Node.js banned-language row: | Before | After | |---|---| | "nine carve-out classes (six original + three added during the migration via hypatia#405)" | "nine carve-out classes (six original + three added during the migration via hypatia#405 + one added post-closeout via hypatia#412 for `/bindings/rescript/` symmetry)" | | Class (5): `**/bindings/{javascript,typescript}/**` | Class (5): `**/bindings/{javascript,typescript,rescript}/**` with rationale "the `rescript` variant is host-required for the rescript-to-js compile chain" | ## Why post-closeout The standards#253 closeout PR (#325) merged 2026-05-31T07:11Z. The campaign is officially complete. This PR makes the closeout declaration "zero `:nodejs_detected` flags outside carve-outs" **exactly true** (was 19/20 prior) without re-opening #253 or #275. Pairs with hyperpolymath/hypatia#412 (rule update + test). Both should land together to maintain docs↔rule parity. ## Test plan - [ ] CI green (text-only change) - [ ] Cross-link to hypatia#412 PR description visible in this PR comments - [ ] Hypatia self-scan unchanged (rule is in hypatia repo, not standards) Refs #253 (umbrella, CLOSED 2026-05-31) Refs #275 (STEP 7, CLOSED 2026-05-31) Refs #320 (predecessor mirror PR pattern for hypatia#405) Refs hyperpolymath/hypatia#412 (the rule update this mirrors) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 191 issues detected
View findings[
{
"reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in affinescript-verify.yml",
"type": "missing_timeout_minutes",
"file": "affinescript-verify.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in boj-build.yml",
"type": "missing_timeout_minutes",
"file": "boj-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in casket-pages.yml",
"type": "missing_timeout_minutes",
"file": "casket-pages.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in changelog-reusable.yml",
"type": "missing_timeout_minutes",
"file": "changelog-reusable.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in codeql-reusable.yml",
"type": "missing_timeout_minutes",
"file": "codeql-reusable.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in codeql.yml",
"type": "missing_timeout_minutes",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in deno-ci-reusable.yml",
"type": "missing_timeout_minutes",
"file": "deno-ci-reusable.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in doc-format.yml",
"type": "missing_timeout_minutes",
"file": "doc-format.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Mirrors hyperpolymath/hypatia#405 (expanded
:nodejs_detectedcarve-outs) into standards' two policy surfaces:.claude/CLAUDE.md §npm Exemptions (Approved)— adds 6 new rows (vscode- substring, tree-sitter- substring, /.lake/, /office-addin/, /bindings/javascript/, /bindings/typescript/).rhodium-standard-repositories/.github/workflows/language-policy.yml— adds parallel grep filters to the NEW_NPM_LOCK block.Closes the rule/policy gap surfaced during the standards#253 STEP 3 batch (root-level vscode-* and tree-sitter-* repos were flagged by the previous narrower
/vscode/segment match).Test plan
grep -vEfilters added for: vscode-, tree-sitter-, /.lake/, /office-addin/, /bindings/(javascript|typescript)/.vscode-k9/package-lock.json→ does not flag (carve-out hit).🤖 Generated with Claude Code